package com.wish.g3.account.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 拉卡拉下载的对账单表
 * </p>
 *
 * @author wish
 * @since 2022-11-23
 */
@TableName("tb_lkl_check_file")
public class LklCheckFile implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键 自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 账单下载批次（由36位UUID组成，分组用，同一个文件批次下载的UUID一样）
     */
    private String downloadBatch;

    /**
     * 账单周期(年月日yyyymmdd)
     */
    private String billDate;

    /**
     * 账单下载时间
     */
    private LocalDateTime downloadDay;

    /**
     * 账单支付方式（下载的文件是按按照支付方式分开的）1:代付（提现），2：快捷，3：微信，4：支付宝
     */
    private Integer payWay;

    /**
     * 机构号（微信支付宝用，无需解读）
     */
    private String orgId;

    /**
     * 机构请求流水号（微信支付宝用，无需解读）
     */
    private String orgFlowNo;

    /**
     * 商户号（微信支付宝用，无需解读）
     */
    private String merchNo;

    /**
     * 终端号（微信支付宝用，无需解读）
     */
    private String terminalNo;

    /**
     * 交易类型（微信支付宝用：主扫支付和主扫退货，微信扫码和公众号都是主扫支付）
     */
    private String transType;

    /**
     * 流水号（微信支付宝用，无需解读）
     */
    private String flowNo;

    /**
     * 商户订单号（微信、支付宝、快捷、代付都用）
     */
    private String merchOrderNo;

    /**
     * Paymax订单号（微信、支付宝、快捷用， 代付用支付渠道订单号）
     */
    private String paymaxOrderNo;

    /**
     * Paymax退款单号（微信支付宝用，目前无相关业务）
     */
    private String paymaxRefundNo;

    /**
     * 交易金额（微信、支付宝、代付用， 快捷用交易总价）
     */
    private BigDecimal transAmount;

    /**
     * 交易状态（微信、支付宝、代付用， 快捷用订单状态）
     */
    private String transStatus;

    /**
     * 手续费（微信、支付宝、快捷、代付都用）
     */
    private BigDecimal fee;

    /**
     * 交易日期	(支付宝微信：yyyyMMdd	，代付的时候格式示例：2018-04-24 15:27:58.0)
     */
    private String transDate;

    /**
     * 交易时间(支付宝微信yyyyMMddHHmmss)
     */
    private String transTime;

    /**
     * 订单时间（拉卡拉快捷账单用, 预下单时间）
     */
    private String kjOrderDatetime;

    /**
     * 支付时间（拉卡拉快捷账单用, 触发支付的时间）
     */
    private String kjPayDatetime;

    /**
     * 支付方式（拉卡拉快捷账单用）
     */
    private String payType;

    /**
     * 交易总价（拉卡拉快捷账单用）
     */
    private BigDecimal transTotalAmount;

    /**
     * 订单状态（拉卡拉快捷账单用）
     */
    private String orderStatus;

    /**
     * 支付渠道订单号（代付账单）
     */
    private String paymentChannelOrderNo;

    /**
     * 实际结算金额（代付账单）
     */
    private BigDecimal actualSettleAmount;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 删除标识,0:未删除，1：删除
     */
    private Boolean delFlg;

    /**
     * 创建用户ID
     */
    private Long createUserid;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新用户ID
     */
    private Long updateUserid;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public String getDownloadBatch() {
        return downloadBatch;
    }

    public void setDownloadBatch(String downloadBatch) {
        this.downloadBatch = downloadBatch;
    }
    public String getBillDate() {
        return billDate;
    }

    public void setBillDate(String billDate) {
        this.billDate = billDate;
    }
    public LocalDateTime getDownloadDay() {
        return downloadDay;
    }

    public void setDownloadDay(LocalDateTime downloadDay) {
        this.downloadDay = downloadDay;
    }
    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }
    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
    public String getOrgFlowNo() {
        return orgFlowNo;
    }

    public void setOrgFlowNo(String orgFlowNo) {
        this.orgFlowNo = orgFlowNo;
    }
    public String getMerchNo() {
        return merchNo;
    }

    public void setMerchNo(String merchNo) {
        this.merchNo = merchNo;
    }
    public String getTerminalNo() {
        return terminalNo;
    }

    public void setTerminalNo(String terminalNo) {
        this.terminalNo = terminalNo;
    }
    public String getTransType() {
        return transType;
    }

    public void setTransType(String transType) {
        this.transType = transType;
    }
    public String getFlowNo() {
        return flowNo;
    }

    public void setFlowNo(String flowNo) {
        this.flowNo = flowNo;
    }
    public String getMerchOrderNo() {
        return merchOrderNo;
    }

    public void setMerchOrderNo(String merchOrderNo) {
        this.merchOrderNo = merchOrderNo;
    }
    public String getPaymaxOrderNo() {
        return paymaxOrderNo;
    }

    public void setPaymaxOrderNo(String paymaxOrderNo) {
        this.paymaxOrderNo = paymaxOrderNo;
    }
    public String getPaymaxRefundNo() {
        return paymaxRefundNo;
    }

    public void setPaymaxRefundNo(String paymaxRefundNo) {
        this.paymaxRefundNo = paymaxRefundNo;
    }
    public BigDecimal getTransAmount() {
        return transAmount;
    }

    public void setTransAmount(BigDecimal transAmount) {
        this.transAmount = transAmount;
    }
    public String getTransStatus() {
        return transStatus;
    }

    public void setTransStatus(String transStatus) {
        this.transStatus = transStatus;
    }
    public BigDecimal getFee() {
        return fee;
    }

    public void setFee(BigDecimal fee) {
        this.fee = fee;
    }
    public String getTransDate() {
        return transDate;
    }

    public void setTransDate(String transDate) {
        this.transDate = transDate;
    }
    public String getTransTime() {
        return transTime;
    }

    public void setTransTime(String transTime) {
        this.transTime = transTime;
    }
    public String getKjOrderDatetime() {
        return kjOrderDatetime;
    }

    public void setKjOrderDatetime(String kjOrderDatetime) {
        this.kjOrderDatetime = kjOrderDatetime;
    }
    public String getKjPayDatetime() {
        return kjPayDatetime;
    }

    public void setKjPayDatetime(String kjPayDatetime) {
        this.kjPayDatetime = kjPayDatetime;
    }
    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }
    public BigDecimal getTransTotalAmount() {
        return transTotalAmount;
    }

    public void setTransTotalAmount(BigDecimal transTotalAmount) {
        this.transTotalAmount = transTotalAmount;
    }
    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }
    public String getPaymentChannelOrderNo() {
        return paymentChannelOrderNo;
    }

    public void setPaymentChannelOrderNo(String paymentChannelOrderNo) {
        this.paymentChannelOrderNo = paymentChannelOrderNo;
    }
    public BigDecimal getActualSettleAmount() {
        return actualSettleAmount;
    }

    public void setActualSettleAmount(BigDecimal actualSettleAmount) {
        this.actualSettleAmount = actualSettleAmount;
    }
    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
    public Boolean getDelFlg() {
        return delFlg;
    }

    public void setDelFlg(Boolean delFlg) {
        this.delFlg = delFlg;
    }
    public Long getCreateUserid() {
        return createUserid;
    }

    public void setCreateUserid(Long createUserid) {
        this.createUserid = createUserid;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public Long getUpdateUserid() {
        return updateUserid;
    }

    public void setUpdateUserid(Long updateUserid) {
        this.updateUserid = updateUserid;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "TbLklCheckFile{" +
            "id=" + id +
            ", downloadBatch=" + downloadBatch +
            ", billDate=" + billDate +
            ", downloadDay=" + downloadDay +
            ", payWay=" + payWay +
            ", orgId=" + orgId +
            ", orgFlowNo=" + orgFlowNo +
            ", merchNo=" + merchNo +
            ", terminalNo=" + terminalNo +
            ", transType=" + transType +
            ", flowNo=" + flowNo +
            ", merchOrderNo=" + merchOrderNo +
            ", paymaxOrderNo=" + paymaxOrderNo +
            ", paymaxRefundNo=" + paymaxRefundNo +
            ", transAmount=" + transAmount +
            ", transStatus=" + transStatus +
            ", fee=" + fee +
            ", transDate=" + transDate +
            ", transTime=" + transTime +
            ", kjOrderDatetime=" + kjOrderDatetime +
            ", kjPayDatetime=" + kjPayDatetime +
            ", payType=" + payType +
            ", transTotalAmount=" + transTotalAmount +
            ", orderStatus=" + orderStatus +
            ", paymentChannelOrderNo=" + paymentChannelOrderNo +
            ", actualSettleAmount=" + actualSettleAmount +
            ", remarks=" + remarks +
            ", delFlg=" + delFlg +
            ", createUserid=" + createUserid +
            ", createTime=" + createTime +
            ", updateUserid=" + updateUserid +
            ", updateTime=" + updateTime +
        "}";
    }
}
